Telegram Group »
Norway »
Библиотека мобильного разработчика | Android iOS Swift Retrofit Moshi Chuck » Telegram Webview
🥵 Устали от статей, где эйчары рассказывают, как на самом деле выглядит рынок труда в ИТ?
Мы тоже! Поэтому решили узнать правду и представить ее всем айтишникам — но нам нужен ваш голос. Опрос займет 3 минуты, а пользы — вагон для всего сообщества.
Результаты этого исследования помогут понять, как специалистам искать работу в 2025-м (а компаниям — специалистов).
👉 Если вы готовы сделать свой вклад в исследование — велком: https://clc.to/VGgyNA
Мы тоже! Поэтому решили узнать правду и представить ее всем айтишникам — но нам нужен ваш голос. Опрос займет 3 минуты, а пользы — вагон для всего сообщества.
Результаты этого исследования помогут понять, как специалистам искать работу в 2025-м (а компаниям — специалистов).
👉 Если вы готовы сделать свой вклад в исследование — велком: https://clc.to/VGgyNA
Собрали лучшее о мобильной разработке. Включаем и смотрим по пути на работу.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Отложенная инициализация свойств — это механизм, который позволяет отложить инициализацию переменных до момента их первого использования.
Этот вариант позволяет экономить ресурсы, т.к. избегает необходимости создания объектов при инициализации класса.
Модификатор
lateinit
говорит о том, что данная переменная будет инициализирована позже. При этом инициализировать свойство можно из любого места, откуда она видна.Правила использования модификатора
lateinit
:lateinit
может использоваться только с var свойствами класса;lateinit
может быть применен только к свойствам, объявленным внутри тела класса (но не в основном конструкторе), а также к переменным на верхнем уровне и локальным переменным;lateinit
свойства могут иметь любой тип, кроме примитивных типов (таких как Int, Long, Double и т.д.);lateinit
свойства не могут быть nullable (т.е. обязательно должно быть объявлены без знака вопроса);lateinit
свойства не могут быть проинициализированы сразу при их объявлении;lateinit
свойства должны быть инициализированы до первого обращения к ним, иначе будет выброшено исключение UninitializedPropertyAccessException
;lateinit
для переменных, определенных внутри локальных областей видимости (например, внутри функций);lateinit
у свойства не должно быть пользовательских геттеров и сеттеров.Для проверки факта инициализации переменной вызывайте метод
isInitialized()
. Функцию следует использовать экономно — не следует добавлять эту проверку к каждой переменной с отложенной инициализацией. Если вы используете isInitialized()
слишком часто, то скорее всего вам лучше использовать тип с поддержкой null.lateinit var catName: String
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
catName = "Barsik"
if (::catName.isInitialized) {
Log.d("Kot", "Hi, $catName")
}
}
А вы используете lateinit в своих проектах?
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
Знакомая ситуация? Вы исправили баг в
feature-branch
, но нужно срочно добавить этот фикс в main
без мержа всей ветки.Вот как это работает:
git cherry-pick <hash-коммита> # переносит указанный коммит в текущую ветку
Пример использования:
1. Нашли коммит с нужным исправлением:
git log feature-branch --oneline # копируем хеш коммита
2. Переключились на
main
и применили его:git checkout main
git cherry-pick abc1234
Вы уже использовали cherry-pick? Делитесь кейсами в комментариях
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Фокусировка в Jetpack Compose — это не просто перемещение курсора между элементами. За этим процессом стоит сложная система нод, модификаторов и алгоритмов, которые определяют, какой элемент должен получить фокус в каждый момент времени.
В этой статье автор разберёт основы: что такое фокус, как он работает, какие модификаторы и инструменты предоставляет Jetpack Compose, а также как использовать их для построения удобных интерфейсов.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Как показывает практика, это актуальная дилемма как для заказчиков, так и для начинающих разработчиков, которые хотят приобрести наиболее полезный опыт для дальнейшей карьеры.
Кроссплатформенные приложения дешевле, работают сразу на двух платформах, а дизайн и разработка занимают меньше времени.
Нативные приложения дороже, зато обеспечивают лучший пользовательский опыт и подходят для крупных и долгосрочных проектов.
Что вы предпочитаете для мобильной разработки? Голосуйте и пишите своё мнение в комментариях
❤️ — нативная разработка
👍 — кроссплатформенная
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?
Anonymous Quiz
34%
true, true, true, false
54%
true, false, true, false
10%
true, true, false, false
3%
false, false, true, true
Вы уже работаете с мобильной разработкой? Swift, Kotlin, нативный Android?
Тогда вы и сами знаете, что:
— поддерживать две платформы — боль,
— UI-мокапы не сходятся,
— релизы оттягиваются,
— а теперь ещё и Web прилетает сверху.
Есть другой путь. Flutter.
Одна кодовая база. Один UI. Одни тесты.
Приложение сразу под iOS, Android, Web и даже Desktop.
Google, BMW, eBay — уже там.
Курс «Flutter Mobile Developer» от OTUS — для тех, кто хочет перейти в мультиплатформу без хаоса и костылей.
На курсе:
— создадите полноценное приложение с нуля,
— научитесь архитектуре без боли с DI и навигацией,
— подключите CI/CD, Firebase, ML и LLM‑подсказки,
— поймёте, как адаптировать Flutter под реальные продакшн‑сценарии.
📌 Вход — через короткий тест.
15 вопросов по ООП, Dart и архитектуре. Пройдёте — получите скидку и место в потоке.
Старт — 30 мая
→ Пройти тест
Flutter — это не про «быстрее собрать MVP». Это про нормальную мобильную разработку без вечной войны платформ.
Реклама. ООО «Отус онлайн‑образование», ОГРН 1177746618576
Тогда вы и сами знаете, что:
— поддерживать две платформы — боль,
— UI-мокапы не сходятся,
— релизы оттягиваются,
— а теперь ещё и Web прилетает сверху.
Есть другой путь. Flutter.
Одна кодовая база. Один UI. Одни тесты.
Приложение сразу под iOS, Android, Web и даже Desktop.
Google, BMW, eBay — уже там.
Курс «Flutter Mobile Developer» от OTUS — для тех, кто хочет перейти в мультиплатформу без хаоса и костылей.
На курсе:
— создадите полноценное приложение с нуля,
— научитесь архитектуре без боли с DI и навигацией,
— подключите CI/CD, Firebase, ML и LLM‑подсказки,
— поймёте, как адаптировать Flutter под реальные продакшн‑сценарии.
📌 Вход — через короткий тест.
15 вопросов по ООП, Dart и архитектуре. Пройдёте — получите скидку и место в потоке.
Старт — 30 мая
→ Пройти тест
Flutter — это не про «быстрее собрать MVP». Это про нормальную мобильную разработку без вечной войны платформ.
Реклама. ООО «Отус онлайн‑образование», ОГРН 1177746618576
Senior Flutter Developer — от 3 000 до 6 000 €, офис (Кипр)
Разработчик React Native — до 160 000 ₽, гибрид (Калининград)
Senior Android-разработчик в Mobile-Core — гибрид (Москва)
Kotlin / Flutter expert (проектная занятость) — удалёнка
Стажёр-разработчик IOS, Ozon Tech — гибрид
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Робот Android — любимый маскот пользователей и разработчиков Android. И предыдущие версии конструктора таких ботов были очень популярны — в Google в этом году переделали конструктор ботов с нуля, используя новейшие технологии, поддерживаемые Gemini.
Недавно компания выпустила новое приложение с открытым исходным кодом, Androidify, с помощью которого можно научиться создавать мощный опыт на базе ИИ на Android с использованием новейших технологий.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Автор доклада расскажет, как с помощью анализа кода и ряда оптимизаций удалось ускорить работу компонентов iOS-приложения в 5–10 раз и как это повлияло на основные метрики скорости приложения.
Также автор обсудит идеи, стратегии и трюки, которые сделали возможным это улучшение, начиная с диагностики проблемы и заканчивая реализацией самых эффективных решений.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
😱 Вся правда об увольнениях в IT в 2025-м
Пока все молчат о том, что происходит на рынке, мы решили выяснить реальную картину. Без прикрас и корпоративного пиара.
Но для этого нам нужна ваша помощь! Мы собираем данные от разработчиков, тестировщиков, менеджеров и всех, кто работает в ИТ, чтобы создать честное исследование о:
— реальных причинах массовых увольнений
— судьбе тех, кто остался за бортом IT-рынка
— том, сколько времени сейчас нужно на поиск работы
Почему это важно? Потому что сила в правде. Зная реальную ситуацию, вы сможете лучше понимать тренды рынка и планировать карьеру.
⚡️Пройдите опрос и помогите всему сообществу: https://clc.to/yJ5krg
Пока все молчат о том, что происходит на рынке, мы решили выяснить реальную картину. Без прикрас и корпоративного пиара.
Но для этого нам нужна ваша помощь! Мы собираем данные от разработчиков, тестировщиков, менеджеров и всех, кто работает в ИТ, чтобы создать честное исследование о:
— реальных причинах массовых увольнений
— судьбе тех, кто остался за бортом IT-рынка
— том, сколько времени сейчас нужно на поиск работы
Почему это важно? Потому что сила в правде. Зная реальную ситуацию, вы сможете лучше понимать тренды рынка и планировать карьеру.
⚡️Пройдите опрос и помогите всему сообществу: https://clc.to/yJ5krg
Устали вручную писать адаптеры для списков? Попробуйте этот промпт, чтобы ускорить разработку.
Generate a complete RecyclerView adapter in Kotlin for displayin
1. ViewHolder pattern implementation
2. Click listeners for items
3. DiffUtil for efficient updates
4. Support for multiple view types
Include sample data class and usage example in Activity/Fragment.
Add pull-to-refresh functionality
Implement animated item insertion/removal
Add sticky headers implementation
Optimize for large datasets with pagination
Добавьте
Explain each part of the implementation
, если хотите не просто код, а объяснение архитектурных решений.Какой ваш любимый способ работы со списками? Делитесь в комментариях
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM